# 定义一个用户操作模块
import re
def register(client):
    # 注册是需要用户输入一个账号，两个密码，如果两次密码输入一致 请求服务端保存用户信息
    username = input("请输入账号(手机号)：")
    password = input("请输入密码：")
    repass = input("请再次输入密码：")
    # 得需要对账号进行验证
    if re.match(r"^1[3-9]\d{9}$",username) is None:
        print("手机号不合法")
        client.first_menu()
        return
    # 验证密码，密码8位，而且密码必须包含字母数字和特殊字符
    if password != repass:
        print("两次密码不一致")
        client.first_menu()
        return

    if len(password) == 8 and len(re.findall(r"\d",password)) !=0  and len(re.findall(r"[a-z]|[A-Z]",password)) != 0 and len(re.findall(r"(&|\$|%)",password)) != 0 :
        # 写注册的交互逻辑
        # 定义3号协议是为了进行注册功能
        # 3,username,password
        msg = f"3,{username},{password}"
        client.client_socket.send(msg.encode("utf-8"))
        client.first_menu()
    else:
        print("密码不合法，长度必须8位，密码必须包含数字，字母，&或$或%")
        client.first_menu()
        return



# 登录函数
def login(socket):
    username = input("请输入你的账号：")
    password = input("请输入你的密码：")
    # 组成四号协议，用来服务端的登录验证  4,username,password
    msg = f"4,{username},{password}"
    socket.send(msg.encode("utf-8"))

